package com.umpay.dto.merBusi.req.consume;

import org.hibernate.validator.constraints.NotEmpty;

import com.umpay.annotation.Pattern;
import com.umpay.dto.merBusi.req.CommonBusiReq;

/**
 * @ClassName: ConsumeH5NotifyBusiReq  
 * @Description: H5消费通知请求类
 * @author zhangtao  
 * @date Mar 15, 2018
 */
public class ConsumeH5NotifyBusiReq extends CommonBusiReq{
	/**
	 * 业务产品号
	 */
	@NotEmpty(message = "业务产品号不能为空")
	@Pattern(message="业务产品号格式不正确")
	private String bProductId;
	
	/**
	 * 交易流水号
	 */
	@NotEmpty(message = "交易流水号不能为空")
	@Pattern(message="交易流水号格式不正确")
	private String trace;
	
	/**
	 * 机构号
	 */
	@NotEmpty(message = "机构号不能为空")
	@Pattern(message="机构号格式不正确")
	private String instId;
	
	/**
	 * 商户号
	 */
	@NotEmpty(message = "商户号不能为空")
	@Pattern(message="商户号格式不正确")
	private String merId;
	
	/**
	 * 支付流水
	 */
	@NotEmpty(message = "支付流水不能为空")
	@Pattern(message="支付流水格式不正确")
	private String paySeq;
	
	/**
	 * 订单金额
	 */
	@NotEmpty(message = "订单金额不能为空")
	@Pattern(message="订单金额格式不正确")
	private String amount;
	
	/**
	 * 订单号
	 */
	@NotEmpty(message = "订单号不能为空")
	@Pattern(message="订单号格式不正确")
	private String orderId;
	
	/**
	 * 订单日期
	 */
	@NotEmpty(message = "订单日期不能为空")
	@Pattern(message="订单日期格式不正确")
	private String orderDate;
	
	/**
	 * 对账日期
	 */
	private String stlDate;
	
	/**
	 * 支付状态
	 */
	@NotEmpty(message = "支付状态不能为空")
	private String payState;
	
	/**
	 * 返回码
	 */
	@NotEmpty(message = "返回码不能为空")
	private String retCode;
	
//	@Pattern
	private String payType;
	
	/**
	 * 返回日期
	 */
	private String retMsg;
	public String getbProductId() {
		return bProductId;
	}
	public void setbProductId(String bProductId) {
		this.bProductId = bProductId;
	}
	public String getTrace() {
		return trace;
	}
	public void setTrace(String trace) {
		this.trace = trace;
	}
	public String getInstId() {
		return instId;
	}
	public void setInstId(String instId) {
		this.instId = instId;
	}
	public String getMerId() {
		return merId;
	}
	public void setMerId(String merId) {
		this.merId = merId;
	}
	public String getAmount() {
		return amount;
	}
	public void setAmount(String amount) {
		this.amount = amount;
	}
	public String getOrderId() {
		return orderId;
	}
	public void setOrderId(String orderId) {
		this.orderId = orderId;
	}
	public String getOrderDate() {
		return orderDate;
	}
	public void setOrderDate(String orderDate) {
		this.orderDate = orderDate;
	}
	public String getStlDate() {
		return stlDate;
	}
	public void setStlDate(String stlDate) {
		this.stlDate = stlDate;
	}
	public String getPayState() {
		return payState;
	}
	public void setPayState(String payState) {
		this.payState = payState;
	}
	public String getRetCode() {
		return retCode;
	}
	public void setRetCode(String retCode) {
		this.retCode = retCode;
	}
	public String getRetMsg() {
		return retMsg;
	}
	public void setRetMsg(String retMsg) {
		this.retMsg = retMsg;
	}
	public String getPaySeq() {
		return paySeq;
	}
	public void setPaySeq(String paySeq) {
		this.paySeq = paySeq;
	}
	public String getPayType() {
		return payType;
	}
	public void setPayType(String payType) {
		this.payType = payType;
	}
	@Override
	public String toString() {
		StringBuilder builder = new StringBuilder();
		builder.append("ConsumeH5NotifyBusiReq");
		builder.append(super.toString());
		builder.append("[bProductId=");
		builder.append(bProductId);
		builder.append(", trace=");
		builder.append(trace);
		builder.append(", instId=");
		builder.append(instId);
		builder.append(", merId=");
		builder.append(merId);
		builder.append(", paySeq=");
		builder.append(paySeq);
		builder.append(", amount=");
		builder.append(amount);
		builder.append(", orderId=");
		builder.append(orderId);
		builder.append(", orderDate=");
		builder.append(orderDate);
		builder.append(", stlDate=");
		builder.append(stlDate);
		builder.append(", payState=");
		builder.append(payState);
		builder.append(", retCode=");
		builder.append(retCode);
		builder.append(", payType=");
		builder.append(payType);
		builder.append(", retMsg=");
		builder.append(retMsg);
		builder.append("]");
		return builder.toString();
	}
	
	
	
	
}
